package br.com.locanet.dao.database.impl;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.PersistenceException;

import br.com.locanet.bean.impl.Imagem;
import br.com.locanet.dao.GenericJPADAO;

public class ImagemDAO extends GenericJPADAO<Imagem> {

	@Override
	protected Imagem doMerge(Imagem entity) throws PersistenceException {
		Imagem oldEntity = findById(entity);
		
		if (entity.getTitulo()!=null)
			oldEntity.setTitulo(entity.getTitulo());
		if (entity.getData()!=null&&entity.getData().length>0)
			oldEntity.setData(entity.getData());
		
		return oldEntity;
	}
	
	@Override
	protected Object[] doPrepareQuery(StringBuffer query, Imagem entity) {
		List<Object> values = new ArrayList<Object>();
		
		for (Object obj : super.doPrepareQuery(query, entity)){
			values.add(obj);
		}
		
		if (entity.getTitulo()!=null){
			query.append(" AND oEntidade.titulo LIKE ? ");
			values.add("%"+entity.getTitulo()+"%");
		}
		if (entity.getFilme()!=null && entity.getFilme().getId()!=null){
			query.append(" AND oEntidade.filme.id = ?");
			values.add(entity.getFilme().getId());
		}
		
		return values.toArray();
	}


}
